#ifndef _META_SINGLETON_TEST_H_
#define _META_SINGLETON_TEST_H_

#include "Meta.Singleton.h"

namespace SingletonTest
{
      using namespace Maha::Meta;

      class TestClass : public Singleton<TestClass>
      {
      public:

            TestClass()
            {
                  isOk = "isOk";
            }

            std::string IsOk() const
            {
                  return isOk;
            }

      private:

            std::string isOk;
      };
}

TEST (MetaSingletonTest, SingletonCreating)
{
	using namespace Maha::Meta;
      using namespace SingletonTest;

      TestClass& testClass = TestClass::GetInstance();

      ASSERT_EQ(testClass.IsOk(), std::string("isOk"));      
}

#endif
